import { getUserAPI } from '@/api/user.js'

export default {
  // 开启命名空间
  namespaced: true,
  // 定义模块数据
  state() {
    return {
      // 登录成功之后的token值
      token: '',
      // 用户信息
      user: {}
    }
  },
  // 函数
  mutations: {
    // 第一个参数默认为state
    updateToken(state, token) {
      state.token = token
    },
    // 更新state中的user数据
    updateUser(state, obj) {
      state.user = obj
    }
  },
  // 异步操作
  actions: {
    // 封装获取用户信息的action函数
    async initUser(ctx) {
      // 调用接口，来获取用户信息
      const { data: res } = await getUserAPI()
      // 判断接口是否调用成功
      if (res.code === 0) {
        // 调用mutations函数，将数据转存到state
        ctx.commit('updateUser', res.data)
      }
    }
  }
}
